package com.fas.system.service.impl;

import com.fas.common.utils.DateUtils;
import com.fas.system.domain.FasContract;
import com.fas.system.domain.FasCooperationCompany;
import com.fas.system.mapper.FasContractMapper;
import com.fas.system.service.IFasContractService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 合同管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-04-25
 */
@Service
public class FasContractServiceImpl implements IFasContractService 
{
    @Resource
    private FasContractMapper fasContractMapper;

    /**
     * 查询合同管理
     * 
     * @param id 合同管理主键
     * @return 合同管理
     */
    @Override
    public FasContract selectFasContractById(String id)
    {
        return fasContractMapper.selectFasContractById(id);
    }

    /**
     * 查询合同管理列表
     * 
     * @param fasContract 合同管理
     * @return 合同管理
     */
    @Override
    public List<FasContract> selectFasContractList(FasContract fasContract) {
        return fasContractMapper.selectFasContractList(fasContract);
    }

    /**
     * 新增合同管理
     * 
     * @param fasContract 合同管理
     * @return 结果
     */
    @Override
    public int insertFasContract(FasContract fasContract) {
        fasContract.setCreateTime(DateUtils.getNowDate());
        return fasContractMapper.insertFasContract(fasContract);
    }

    /**
     * 修改合同管理
     * 
     * @param fasContract 合同管理
     * @return 结果
     */
    @Override
    public int updateFasContract(FasContract fasContract)    {
        fasContract.setUpdateTime(DateUtils.getNowDate());
        return fasContractMapper.updateFasContract(fasContract);
    }

    /**
     * 批量删除合同管理
     * 
     * @param ids 需要删除的合同管理主键
     * @return 结果
     */
    @Override
    public int deleteFasContractByIds(String[] ids)
    {
        return fasContractMapper.deleteFasContractByIds(ids);
    }

    /**
     * 删除合同管理信息
     * 
     * @param id 合同管理主键
     * @return 结果
     */
    @Override
    public int deleteFasContractById(String id)
    {
        return fasContractMapper.deleteFasContractById(id);
    }

    @Override
    public List<FasCooperationCompany> companyList(Long deptId) {
        return fasContractMapper.companyList(deptId);
    }

    @Override
    public List<FasContract> selectFasContractListByEngineer(FasContract fasContract) {
        return fasContractMapper.selectFasContractListByEngineer(fasContract);
    }


    /**
     * 合同到期提醒-提前一个月
     */
    @Override
    public void contractExpirationReminder() {
        List<FasCooperationCompany> list = fasContractMapper.contractExpirationReminder();
    }

    /**
     * 付款到期提醒-提前一周
     */
    @Override
    public void paymentExpirationReminder() {

    }
}
